Support for Private Frontend on Application Gateway for Containers#44200
Support for Private Frontend on Application Gateway for Containers#44200saurabhale wants to merge 3 commits into
Conversation
…iceNetworking Add private frontend support for Application Gateway for Containers (Traffic Controllers): - FrontendType enum (public/private) and type property on FrontendProperties - Association reference on FrontendProperties for private frontends - PrivateEndpointConnection resources (Get, Update, Delete, List) - PrivateLinkResource resources (Get, List) - privateEndpointConnections on TrafficControllerProperties - PrivateLinkServiceConnectionState model for approve/reject flow - Updated readme.md with new API version tags
Next Steps to MergeNext steps that must be taken to merge this PR:
Comment generated by summarize-checks workflow run. |
API Change CheckAPIView identified API level changes in this PR and created the following API reviews
Comment generated by After APIView workflow run. |
ravimeda
left a comment
There was a problem hiding this comment.
ARM API Review
Posting findings from the ARM API Reviewer agent (critic-verified, 2 iterations, converged) against commit 2a1751e. See inline comments for findings 1-5.
| "description": "Provisioning State of Traffic Controller Frontend Resource", | ||
| "readOnly": true | ||
| }, | ||
| "type": { |
There was a problem hiding this comment.
[NEW] 🟠 Warning [ARM §2.5] stable/2026-03-01/TrafficController.json — line 1897 — property named type inside the properties bag shadows the ARM envelope type.
Classification reasoning: NEW — FrontendProperties.type is added in this PR (prior stable 2025-01-01 FrontendProperties had only fqdn and provisioningState).
Frontend uses x-ms-client-flatten: true (line 1849), so this type flattens onto the resource and collides with the ARM envelope type (the resource-type discriminator), causing SDK property-name collisions and client confusion. The same applies to FrontendUpdateProperties.type (line 1933). ARM §2.5 names type explicitly as a reserved envelope property.
Suggested fix: Rename to frontendType (update both FrontendType $ref usages and the example payloads).
There was a problem hiding this comment.
Added a suppression with reason: "The Frontend 'type' property is a domain enum (public/private) describing the frontend kind, distinct from the read-only ARM envelope resource 'type'; the two never conflict in request payloads and only co-appear in responses. The name matches the Microsoft.ServiceNetworking RP implementation, which serializes this value as 'properties.type'"
| } | ||
| } | ||
| }, | ||
| "PrivateEndpointConnection": { |
There was a problem hiding this comment.
[NEW] 🔵 Suggestion [ARM §2.8] stable/2026-03-01/TrafficController.json — line 2466 — Private Link types defined locally.
Classification reasoning: NEW — these definitions are introduced in this PR.
PrivateEndpointConnection, PrivateLinkResource, PrivateLinkServiceConnectionState, and PrivateEndpointReference are defined locally. They match the common-types shape (so this is non-blocking), but prefer $ref-ing the common-types Private Link definitions — or, in TypeSpec, the standard PrivateEndpointConnection / PrivateLinkResource ARM resource templates from @azure-tools/typespec-azure-resource-manager.
| "$ref": "#/definitions/PrivateLinkServiceConnectionState", | ||
| "description": "The connection state of the private endpoint connection." | ||
| }, | ||
| "provisioningState": { |
There was a problem hiding this comment.
[NEW] 🔵 Suggestion stable/2026-03-01/TrafficController.json — line 2516 — PEC provisioningState reuses the service-wide enum.
Classification reasoning: NEW — the privateEndpointConnections resource is introduced in this PR.
PrivateEndpointConnectionProperties.provisioningState reuses the service-wide ProvisioningState enum (Provisioning/Updating/Deleting/Accepted/Succeeded/Failed/Canceled) instead of the common-types PrivateEndpointConnectionProvisioningState (Succeeded/Creating/Deleting/Failed). Minor; consider the dedicated enum for the Private Endpoint Connection resource.
8bf573f to
370f198
Compare
- Add 201 response examples to PrivateEndpointConnectionPut for 2025-10-01-preview and 2026-03-01 (fixes ModelValidation RESPONSE_STATUS_CODE_NOT_IN_EXAMPLE) - Add read-only provisioningState to PrivateLinkResourceProperties and regenerate swagger - Suppress arm-resource-duplicate-property on FrontendProperties.type in TypeSpec; add LintDiff ArmResourcePropertiesBag suppression in readme.md so 'type' matches the shipped RP contract - Add Location/Retry-After headers to PrivateEndpointConnectionDelete 202 examples (fixes ModelValidation LRO_RESPONSE_HEADER) - Run tsp format on main.tsp and apply prettier formatting to examples
370f198 to
9c4bcc6
Compare
|
@saurabhale please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.
Contributor License AgreementContribution License AgreementThis Contribution License Agreement (“Agreement”) is agreed to by the party signing below (“You”),
|
Add private frontend support for Application Gateway for Containers (Traffic Controllers):